da42541971f2200aec2ba483019637cc23efbeec,spring-data-neo4j/src/main/java/org/springframework/data/neo4j/repository/query/derived/DerivedGraphRepositoryQuery.java,CountByQuery,execute,#Object[]#,92

Before Change


		@Override
		public Object execute(Object[] parameters) {

			Class<?> domainClass = info.getJavaType();

			if (getQueryMethod().getReturnedObjectType().equals(Long.class)) {
				String label = ((Neo4jSession) session).metaData().classInfo(domainClass.getName()).neo4jName();
				Filters filters = resolveParams(parameters);

				// TODO? create a specific implementation, e.g. CountQuery().findByProperties(label, filters)
				AbstractRequest query = new VariableDepthQuery().findByProperties(label, filters, 0);

				String statement = query.getStatement().replace("RETURN n", "RETURN COUNT(n)");
				Result result = session.query(statement, query.getParameters());
				Map<String, Object> resultMap = result.iterator().next();
				return Long.parseLong(resultMap.get("COUNT(n)").toString());
			} else {
		 		throw new RuntimeException("Count queries must return a Long");
			}

After Change



			if (getQueryMethod().getReturnedObjectType().equals(Long.class)) {
				Filters filters = resolveParams(parameters);
				return session.count(info.getJavaType(), filters);
			} else {
		 		throw new RuntimeException("Long is required as the return type of a Count query");
			}